#include<cstdio>
#include<cstring>
#include<cmath>
const int MAX=210000000;
int n,f[15][9][9][9][9],a[9][9],s[9][9];
int min(int x,int y)
{
	return x<y?x:y;
}
int main()
{
	freopen("test.in","r",stdin);
	scanf("%d",&n);
	for(int i=1;i<=8;i++)
		for(int j=1;j<=8;j++)
			scanf("%d",&a[i][j]);
	memset(s,0,sizeof(s));
	for(int i=1;i<=8;i++)
		for(int j=1;j<=8;j++)
			s[i][j]+=s[i][j-1]+a[i][j];
	for(int x1=1;x1<=8;x1++)
		for(int y1=1;y1<=8;y1++)
			for(int x2=x1;x2<=8;x2++)
				for(int y2=y1;y2<=8;y2++)
				{
					int t=0;
					for(int p=x1;p<=x2;p++)
						t+=(s[p][y2]-s[p][y1-1]);
					f[1][x1][y1][x2][y2]=t*t;
				}
	for(int k=2;k<=n;k++)
		for(int x1=1;x1<=8;x1++)
			for(int y1=1;y1<=8;y1++)
				for(int x2=x1;x2<=8;x2++)
					for(int y2=y1;y2<=8;y2++)
					{
						f[k][x1][y1][x2][y2]=MAX;
						if( (x2-x1+1)*(y2-y1+1) <k)continue;
						for(int i=y1;i<y2;i++)
						{
							int t=0;
							for(int p=x1;p<=x2;p++)
								t+=(s[p][i]-s[p][y1-1]);
							t=t*t;
							t+=f[k-1][x1][i+1][x2][y2];
							f[k][x1][y1][x2][y2]=min(f[k][x1][y1][x2][y2],t);
							t=0;
							for(int p=x1;p<=x2;p++)
								t+=(s[p][y2]-s[p][i]);
							t=t*t;
							t+=f[k-1][x1][y1][x2][i];
							f[k][x1][y1][x2][y2]=min(f[k][x1][y1][x2][y2],t);
						}
						for(int i=x1;i<x2;i++)
						{
							int t=0;
							for(int p=x1;p<=i;p++)
								t+=(s[p][y2]-s[p][y1-1]);
							t=t*t;
							t+=f[k-1][i+1][y1][x2][y2];
							f[k][x1][y1][x2][y2]=min(f[k][x1][y1][x2][y2],t);
							t=0;
							for(int p=i+1;p<=x2;p++)
								t+=(s[p][y2]-s[p][y1-1]);
							t=t*t;
							t+=f[k-1][x1][y1][i][y2];					
							f[k][x1][y1][x2][y2]=min(f[k][x1][y1][x2][y2],t);
						}
					}
	int sum=0;
	for(int i=1;i<=8;i++)
		sum+=s[i][8];
	double b=sum/(double)n;
	printf("%0.3lf\n",sqrt(f[n][1][1][8][8]/(double)n-b*b));
	return 0;
}





